﻿using Guwave.MonitorDevice.Common;
using Guwave.MonitorDevice.Interface.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Guwave.MonitorDevice.Interface
{
    public interface IMonitorDevicesService
    {
        /// <summary>
        /// 读取设备全部信息
        /// </summary>
        /// <returns></returns>
        MonitorDeviceEntity GetDeviceAllInfo();
        
        /// <summary>
        /// 得到该设备温度调整器用ROM的版本
        /// </summary>
        /// <returns></returns>
        string[] GetROMVersion(ROMVersion rowVersion);

        /// <summary>
        ///  得到SRQ现在的状态
        /// </summary>
        List<string> GetSRQStatus();

        /// <summary>
        ///  得到发生的警报数量及其编号
        /// </summary>
        AlarmEntity GetAlarmStatus();

        /// <summary>
        ///  得到密钥保护状态
        /// </summary>
        /// <returns></returns>
        string GetKeyProtectStatus();

        /// <summary>
        /// 得到温度调节设备连接的感应器型号、温度调节设备的型号、设定温度上限值
        /// </summary>
        /// <returns></returns>
        TemperatureEntity GetTypeInfo();

        /// <summary>
        /// 得到设备的槽内状态
        /// </summary>
        /// <returns></returns>
        MONEntity GetMONStatus();

        /// <summary>
        /// 得到温度参数
        /// </summary>
        /// <returns></returns>
        TempEntity GetTempParameter();

        /// <summary>
        /// 返回湿度参数
        /// </summary>
        /// <returns></returns>
        List<string> GetHUMIInfo();

        /// <summary>
        /// 返回冷冻机的配置台数和运行状态
        /// </summary>
        /// <returns></returns>
        List<string> GetREFStatus();

        /// <summary>
        /// 返回可控制的加热器点数以及加热器输出值
        /// </summary>
        List<string> GetHotInfo();
    }
}
